home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.1 / g++.1 < prev    next >
Text File  |  1995-07-25  |  33KB  |  595 lines

  1.  
  2.  
  3.  
  4.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           g++ - GNU project C++ Compiler (v2.4)
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           g++ [[[[_o_p_t_i_o_n | _f_i_l_e_n_a_m_e ]...
  13.  
  14.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.           The C and C++ compilers are integrated; gggg++++++++ is a script to
  16.           call ggggcccccccc wwwwiiiitttthhhh ooooppppttttiiiioooonnnnssss ttttoooo rrrreeeeccccooooggggnnnniiiizzzzeeee CCCC++++++++....  ggggcccccccc processes input
  17.           files through one or more of four stages: preprocessing,
  18.           compilation, assembly, and linking.  This man page contains
  19.           full descriptions for _o_n_l_y C++ specific aspects of the
  20.           compiler, though it also contains summaries of some
  21.           general-purpose options.  For a fuller explanation of the
  22.           compiler, see ggggcccccccc(1111).
  23.  
  24.           C++ source files use one of the suffixes `....CCCC', `....cccccccc', or
  25.           `....ccccxxxxxxxx'; preprocessed C++ files use the suffix `....iiiiiiii'.
  26.  
  27.      OOOOPPPPTTTTIIIIOOOONNNNSSSS
  28.           There are many command-line options, including options to
  29.           control details of optimization, warnings, and code
  30.           generation, which are common to both ggggcccccccc and gggg++++++++.  For full
  31.           information on all options, see ggggcccccccc(1111).
  32.  
  33.           Options must be separate: `----ddddrrrr' is quite different from `----dddd
  34.           ----rrrr '.
  35.  
  36.           Most `----ffff' and `----WWWW' options have two contrary forms: ----ffff_n_a_m_e
  37.           and ----ffffnnnnoooo----_n_a_m_e (or ----WWWW_n_a_m_e and ----WWWWnnnnoooo----_n_a_m_e). Only the non-
  38.           default forms are shown here.
  39.  
  40.  
  41.           ----cccc   Compile or assemble the source files, but do not link.
  42.                The compiler output is an object file corresponding to
  43.                each source file.
  44.  
  45.           ----DDDD_m_a_c_r_o
  46.                Define macro _m_a_c_r_o with the string `1111' as its
  47.                definition.
  48.  
  49.           ----DDDD_m_a_c_r_o====_d_e_f_n
  50.                Define macro _m_a_c_r_o as _d_e_f_n.
  51.  
  52.           ----EEEE   Stop after the preprocessing stage; do not run the
  53.                compiler proper.  The output is preprocessed source
  54.                code, which is sent to the standard output.
  55.  
  56.           ----ffffaaaallllllll----vvvviiiirrrrttttuuuuaaaallll
  57.                Treat all possible member functions as virtual,
  58.                implicitly.  All member functions (except for
  59.                constructor functions and nnnneeeewwww or ddddeeeelllleeeetttteeee member
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 3/28/94)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  71.  
  72.  
  73.  
  74.                operators) are treated as virtual functions of the
  75.                class where they appear.
  76.  
  77.                This does not mean that all calls to these member
  78.                functions will be made through the internal table of
  79.                virtual functions.  Under some circumstances, the
  80.                compiler can determine that a call to a given virtual
  81.                function can be made directly; in these cases the calls
  82.                are direct in any case.
  83.  
  84.           ----ffffddddoooollllllllaaaarrrrssss----iiiinnnn----iiiiddddeeeennnnttttiiiiffffiiiieeeerrrrssss
  85.                Permit the use of `$$$$' in identifiers.  Traditional C
  86.                allowed the character `$$$$' to form part of identifiers;
  87.                by default, GNU C also allows this.  However, ANSI C
  88.                forbids `$$$$' in identifiers, and GNU C++ also forbids it
  89.                by default on most platforms (though on some platforms
  90.                it's enabled by default for GNU C++ as well).
  91.  
  92.           ----ffffeeeelllliiiiddddeeee----ccccoooonnnnssssttttrrrruuuuccccttttoooorrrrssss
  93.                Use this option to instruct the compiler to be smarter
  94.                about when it can elide constructors.  Without this
  95.                flag, GNU C++ and cfront both generate effectively the
  96.                same code for:
  97.  
  98.                A foo ();
  99.                A x (foo ());   // x initialized by `foo ()', no ctor called
  100.                A y = foo ();   // call to `foo ()' heads to temporary,
  101.                                // y is initialized from the temporary.
  102.  
  103.                Note the difference!  With this flag, GNU C++
  104.                initializes `yyyy' directly from the call to ffffoooooooo (((())))
  105.                without going through a temporary.
  106.  
  107.           ----ffffeeeennnnuuuummmm----iiiinnnntttt----eeeeqqqquuuuiiiivvvv
  108.                Normally GNU C++ allows conversion of eeeennnnuuuummmm to iiiinnnntttt, but
  109.                not the other way around.  Use this option if you want
  110.                GNU C++ to allow conversion of iiiinnnntttt to eeeennnnuuuummmm as well.
  111.  
  112.           ----ffffeeeexxxxtttteeeerrrrnnnnaaaallll----tttteeeemmmmppppllllaaaatttteeeessss
  113.                Produce smaller code for template declarations, by
  114.                generating only a single copy of each template function
  115.                where it is defined.  To use this option successfully,
  116.                you must also mark all files that use templates with
  117.                either `####pppprrrraaaaggggmmmmaaaa iiiimmmmpppplllleeeemmmmeeeennnnttttaaaattttiiiioooonnnn' (the definition) or
  118.                `####pppprrrraaaaggggmmmmaaaa iiiinnnntttteeeerrrrffffaaaacccceeee' (declarations).
  119.  
  120.                When your code is compiled with `----ffffeeeexxxxtttteeeerrrrnnnnaaaallll----tttteeeemmmmppppllllaaaatttteeeessss',
  121.                all template instantiations are external.  You must
  122.                arrange for all necessary instantiations to appear in
  123.                the implementation file; you can do this with a ttttyyyyppppeeeeddddeeeeffff
  124.                that references each instantiation needed.  Conversely,
  125.                when you compile using the default option
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 3/28/94)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  137.  
  138.  
  139.  
  140.                `----ffffnnnnoooo----eeeexxxxtttteeeerrrrnnnnaaaallll----tttteeeemmmmppppllllaaaatttteeeessss', all template instantiations
  141.                are explicitly internal.
  142.  
  143.           ----ffffnnnnoooo----ggggnnnnuuuu----lllliiiinnnnkkkkeeeerrrr
  144.                Do not output global initializations (such as C++
  145.                constructors and destructors) in the form used by the
  146.                GNU linker (on systems where the GNU linker is the
  147.                standard method of handling them).  Use this option
  148.                when you want to use a non-GNU linker, which also
  149.                requires using the ccccoooolllllllleeeecccctttt2222 program to make sure the
  150.                system linker includes constructors and destructors.
  151.                (ccccoooolllllllleeeecccctttt2222 is included in the GNU CC distribution.)  For
  152.                systems which _m_u_s_t use ccccoooolllllllleeeecccctttt2222, the compiler driver
  153.                ggggcccccccc is configured to do this automatically.
  154.  
  155.           ----ffffmmmmeeeemmmmooooiiiizzzzeeee----llllooooooookkkkuuuuppppssss
  156.  
  157.           ----ffffssssaaaavvvveeee----mmmmeeeemmmmooooiiiizzzzeeeedddd
  158.                These flags are used to get the compiler to compile
  159.                programs faster using heuristics.  They are not on by
  160.                default since they are only effective about half the
  161.                time.  The other half of the time programs compile more
  162.                slowly (and take more memory).
  163.  
  164.                The first time the compiler must build a call to a
  165.                member function (or reference to a data member), it
  166.                must (1) determine whether the class implements member
  167.                functions of that name; (2) resolve which member
  168.                function to call (which involves figuring out what
  169.                sorts of type conversions need to be made); and (3)
  170.                check the visibility of the member function to the
  171.                caller.  All of this adds up to slower compilation.
  172.                Normally, the second time a call is made to that member
  173.                function (or reference to that data member), it must go
  174.                through the same lengthy process again.  This means
  175.                that code like this
  176.  
  177.                  cout << "This " << p << " has " << n << " legs.\n";
  178.  
  179.                makes six passes through all three steps.  By using a
  180.                software cache, a ``hit'' significantly reduces this
  181.                cost.  Unfortunately, using the cache introduces
  182.                another layer of mechanisms which must be implemented,
  183.                and so incurs its own overhead.  `----ffffmmmmeeeemmmmooooiiiizzzzeeee----llllooooooookkkkuuuuppppssss'
  184.                enables the software cache.
  185.  
  186.                Because access privileges (visibility) to members and
  187.                member functions may differ from one function context
  188.                to the next, gggg++++++++ may need to flush the cache. With the
  189.                `----ffffmmmmeeeemmmmooooiiiizzzzeeee----llllooooooookkkkuuuuppppssss' flag, the cache is flushed after
  190.                every function that is compiled.  The `-fsave-memoized'
  191.                flag enables the same software cache, but when the
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 3/28/94)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  203.  
  204.  
  205.  
  206.                compiler determines that the context of the last
  207.                function compiled would yield the same access
  208.                privileges of the next function to compile, it
  209.                preserves the cache. This is most helpful when defining
  210.                many member functions for the same class: with the
  211.                exception of member functions which are friends of
  212.                other classes, each member function has exactly the
  213.                same access privileges as every other, and the cache
  214.                need not be flushed.
  215.  
  216.           ----ffffnnnnoooo----ddddeeeeffffaaaauuuulllltttt----iiiinnnnlllliiiinnnneeee
  217.                Do not make member functions inline by default merely
  218.                because they are defined inside the class scope.
  219.                Otherwise, when you specify ----OOOO, member functions
  220.                defined inside class scope are compiled inline by
  221.                default; i.e., you don't need to add `iiiinnnnlllliiiinnnneeee' in front
  222.                of the member function name.
  223.  
  224.           ----ffffnnnnoooo----ssssttttrrrriiiicccctttt----pppprrrroooottttoooottttyyyyppppeeee
  225.                Consider the declaration iiiinnnntttt ffffoooooooo (((())));;;;.  In C++, this
  226.                means that the function ffffoooooooo takes no arguments.  In
  227.                ANSI C, this is declared iiiinnnntttt ffffoooooooo((((vvvvooooiiiidddd))));;;;.  With the flag
  228.                `----ffffnnnnoooo----ssssttttrrrriiiicccctttt----pppprrrroooottttoooottttyyyyppppeeee', declaring functions with no
  229.                arguments is equivalent to declaring its argument list
  230.                to be untyped, i.e., iiiinnnntttt ffffoooooooo (((())));;;; is equivalent to
  231.                saying iiiinnnntttt ffffoooooooo ((((............))));;;;.
  232.  
  233.           ----ffffnnnnoooonnnnnnnnuuuullllllll----oooobbbbjjjjeeeeccccttttssss
  234.                Normally, GNU C++ makes conservative assumptions about
  235.                objects reached through references.  For example, the
  236.                compiler must check that `aaaa' is not null in code like
  237.                the following:
  238.                    obj &a = g ();
  239.                    a.f (2);
  240.                Checking that references of this sort have non-null
  241.                values requires extra code, however, and it is
  242.                unnecessary for many programs.  You can use
  243.                `----ffffnnnnoooonnnnnnnnuuuullllllll----oooobbbbjjjjeeeeccccttttssss' to omit the checks for null, if
  244.                your program doesn't require the default checking.
  245.  
  246.           ----fffftttthhhhiiiissss----iiiissss----vvvvaaaarrrriiiiaaaabbbblllleeee
  247.                The incorporation of user-defined free store management
  248.                into C++ has made assignment to tttthhhhiiiissss an anachronism.
  249.                Therefore, by default GNU C++ treats the type of tttthhhhiiiissss
  250.                in a member function of ccccllllaaaassssssss XXXX to be XXXX ****ccccoooonnnnsssstttt.  In
  251.                other words, it is illegal to assign to tttthhhhiiiissss within a
  252.                class member function.  However, for backwards
  253.                compatibility, you can invoke the old behavior by using
  254.                `----fffftttthhhhiiiissss----iiiissss----vvvvaaaarrrriiiiaaaabbbblllleeee'.
  255.  
  256.           ----gggg   Produce debugging information in the operating system's
  257.                native format (for DBX or SDB or DWARF).  GDB also can
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 3/28/94)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  269.  
  270.  
  271.  
  272.                work with this debugging information.  On most systems
  273.                that use DBX format, `----gggg' enables use of extra
  274.                debugging information that only GDB can use.
  275.  
  276.                Unlike most other C compilers, GNU CC allows you to use
  277.                `----gggg' with `----OOOO'.  The shortcuts taken by optimized code
  278.                may occasionally produce surprising results: some
  279.                variables you declared may not exist at all; flow of
  280.                control may briefly move where you did not expect it;
  281.                some statements may not be executed because they
  282.                compute constant results or their values were already
  283.                at hand; some statements may execute in different
  284.                places because they were moved out of loops.
  285.  
  286.                Nevertheless it proves possible to debug optimized
  287.                output.  This makes it reasonable to use the optimizer
  288.                for programs that might have bugs.
  289.  
  290.           ----IIII_d_i_r
  291.                 Append directory _d_i_r to the list of directories
  292.                searched for include files.
  293.  
  294.           ----LLLL_d_i_r
  295.                 Add directory _d_i_r to the list of directories to be
  296.                searched for `----llll'.
  297.  
  298.           ----llll_l_i_b_r_a_r_y
  299.                 Use the library named _l_i_b_r_a_r_y when linking.  (C++
  300.                programs often require `-lg++' for successful linking.)
  301.  
  302.           ----nnnnoooossssttttddddiiiinnnncccc
  303.                Do not search the standard system directories for
  304.                header files.  Only the directories you have specified
  305.                with ----IIII options (and the current directory, if
  306.                appropriate) are searched.
  307.  
  308.           ----nnnnoooossssttttddddiiiinnnncccc++++++++
  309.                Do not search for header files in the standard
  310.                directories specific to C++, but do still search the
  311.                other standard directories.  (This option is used when
  312.                building libg++.)
  313.  
  314.           ----OOOO   Optimize.  Optimizing compilation takes somewhat more
  315.                time, and a lot more memory for a large function.
  316.  
  317.           ----oooo _f_i_l_e
  318.                 Place output in file _f_i_l_e.
  319.  
  320.           ----SSSS   Stop after the stage of compilation proper; do not
  321.                assemble.  The output is an assembler code file for
  322.                each non-assembler input file specified.
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 3/28/94)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  335.  
  336.  
  337.  
  338.           ----ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll
  339.                Attempt to support some aspects of traditional C
  340.                compilers.
  341.  
  342.                Specifically, for both C and C++ programs:
  343.  
  344.              o+ In the preprocessor, comments convert to nothing at
  345.                all, rather than to a space.  This allows traditional
  346.                token concatenation.
  347.  
  348.              o+ In the preprocessor, macro arguments are recognized
  349.                within string constants in a macro definition (and
  350.                their values are stringified, though without additional
  351.                quote marks, when they appear in such a context).  The
  352.                preprocessor always considers a string constant to end
  353.                at a newline.
  354.  
  355.              o+ The preprocessor does not predefine the macro ________SSSSTTTTDDDDCCCC________
  356.                when you use `----ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll', but still
  357.                predefines________GGGGNNNNUUUUCCCC________ (since the GNU extensions indicated
  358.                by ________GGGGNNNNUUUUCCCC________ are not affected by `----ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll').  If
  359.                you need to write header files that work differently
  360.                depending on whether `----ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll' is in use, by
  361.                testing both of these predefined macros you can
  362.                distinguish four situations: GNU C, traditional GNU C,
  363.                other ANSI C compilers, and other old C compilers.
  364.  
  365.              o+ In the preprocessor, comments convert to nothing at
  366.                all, rather than to a space.  This allows traditional
  367.                token concatenation.
  368.  
  369.              o+ In the preprocessor, macro arguments are recognized
  370.                within string constants in a macro definition (and
  371.                their values are stringified, though without additional
  372.                quote marks, when they appear in such a context).  The
  373.                preprocessor always considers a string constant to end
  374.                at a newline.
  375.  
  376.              o+ The preprocessor does not predefine the macro ________SSSSTTTTDDDDCCCC________
  377.                when you use `----ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll', but still
  378.                predefines________GGGGNNNNUUUUCCCC________ (since the GNU extensions indicated
  379.                by ________GGGGNNNNUUUUCCCC________ are not affected by `----ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll').  If
  380.                you need to write header files that work differently
  381.                depending on whether `----ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll' is in use, by
  382.                testing both of these predefined macros you can
  383.                distinguish four situations: GNU C, traditional GNU C,
  384.                other ANSI C compilers, and other old C compilers.
  385.  
  386.              o+ String ``constants'' are not necessarily constant; they
  387.                are stored in writable space, and identical looking
  388.                constants are allocated separately.
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 3/28/94)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  401.  
  402.  
  403.  
  404.                For C++ programs only (not C), `----ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll' has one
  405.                additional effect: assignment to tttthhhhiiiissss is permitted.
  406.                This is the same as the effect of `----fffftttthhhhiiiissss----iiiissss----vvvvaaaarrrriiiiaaaabbbblllleeee'.
  407.  
  408.           ----UUUU_m_a_c_r_o
  409.                Undefine macro _m_a_c_r_o.
  410.  
  411.           ----WWWWaaaallllllll
  412.                Issue warnings for conditions which pertain to usage
  413.                that we recommend avoiding and that we believe is easy
  414.                to avoid, even in conjunction with macros.
  415.  
  416.           ----WWWWeeeennnnuuuummmm----ccccllllaaaasssshhhh
  417.                Warn when converting between different enumeration
  418.                types.
  419.  
  420.           ----WWWWoooovvvveeeerrrrllllooooaaaaddddeeeedddd----vvvviiiirrrrttttuuuuaaaallll
  421.                In a derived class, the definitions of virtual
  422.                functions must match the type signature of a virtual
  423.                function declared in the base class.  Use this option
  424.                to request warnings when a derived class declares a
  425.                function that may be an erroneous attempt to define a
  426.                virtual function: that is, warn when a function with
  427.                the same name as a virtual function in the base class,
  428.                but with a type signature that doesn't match any
  429.                virtual functions from the base class.
  430.  
  431.           ----WWWWtttteeeemmmmppppllllaaaatttteeee----ddddeeeebbbbuuuuggggggggiiiinnnngggg
  432.                When using templates in a C++ program, warn if
  433.                debugging is not yet fully available.
  434.  
  435.           ----wwww   Inhibit all warning messages.
  436.  
  437.           ++++eeee_N  Control how virtual function definitions are used, in a
  438.                fashion compatible with ccccffffrrrroooonnnntttt 1.x.
  439.  
  440.      PPPPRRRRAAAAGGGGMMMMAAAASSSS
  441.           Two `####pppprrrraaaaggggmmmmaaaa' directives are supported for GNU C++, to
  442.           permit using the same header file for two purposes: as a
  443.           definition of interfaces to a given object class, and as the
  444.           full definition of the contents of that object class.
  445.  
  446.           ####pppprrrraaaaggggmmmmaaaa iiiinnnntttteeeerrrrffffaaaacccceeee
  447.                Use this directive in header files that define object
  448.                classes, to save space in most of the object files that
  449.                use those classes.  Normally, local copies of certain
  450.                information (backup copies of inline member functions,
  451.                debugging information, and the internal tables that
  452.                implement virtual functions) must be kept in each
  453.                object file that includes class definitions.  You can
  454.                use this pragma to avoid such duplication.  When a
  455.                header file containing `####pppprrrraaaaggggmmmmaaaa iiiinnnntttteeeerrrrffffaaaacccceeee' is included
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 3/28/94)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  467.  
  468.  
  469.  
  470.                in a compilation, this auxiliary information will not
  471.                be generated (unless the main input source file itself
  472.                uses `####pppprrrraaaaggggmmmmaaaa iiiimmmmpppplllleeeemmmmeeeennnnttttaaaattttiiiioooonnnn').  Instead, the object
  473.                files will contain references to be resolved at link
  474.                time.
  475.  
  476.           ####pppprrrraaaaggggmmmmaaaa iiiimmmmpppplllleeeemmmmeeeennnnttttaaaattttiiiioooonnnn
  477.  
  478.           ####pppprrrraaaaggggmmmmaaaa iiiimmmmpppplllleeeemmmmeeeennnnttttaaaattttiiiioooonnnn """"_o_b_j_e_c_t_s....hhhh""""
  479.                Use this pragma in a main input file, when you want
  480.                full output from included header files to be generated
  481.                (and made globally visible).  The included header file,
  482.                in turn, should use `####pppprrrraaaaggggmmmmaaaa iiiinnnntttteeeerrrrffffaaaacccceeee'. Backup copies
  483.                of inline member functions, debugging information, and
  484.                the internal tables used to implement virtual functions
  485.                are all generated in implementation files.
  486.  
  487.                If you use `####pppprrrraaaaggggmmmmaaaa iiiimmmmpppplllleeeemmmmeeeennnnttttaaaattttiiiioooonnnn' with no argument,
  488.                it applies to an include file with the same basename as
  489.                your source file; for example, in `aaaallllllllccccllllaaaassssssss....cccccccc',
  490.                `####pppprrrraaaaggggmmmmaaaa iiiimmmmpppplllleeeemmmmeeeennnnttttaaaattttiiiioooonnnn' by itself is equivalent to
  491.                `####pppprrrraaaaggggmmmmaaaa iiiimmmmpppplllleeeemmmmeeeennnnttttaaaattttiiiioooonnnn """"aaaallllllllccccllllaaaassssssss....hhhh""""'.  Use the string
  492.                argument if you want a single implementation file to
  493.                include code from multiple header files.
  494.  
  495.                There is no way to split up the contents of a single
  496.                header file into multiple implementation files.
  497.  
  498.      FFFFIIIILLLLEEEESSSS
  499.           file.h             C header (preprocessor) file
  500.           file.i             preprocessed C source file
  501.           file.C             C++ source file
  502.           file.cc            C++ source file
  503.           file.cxx           C++ source file
  504.           file.s             assembly language file
  505.           file.o             object file
  506.           a.out              link edited output
  507.           _T_M_P_D_I_R/cc*         temporary files
  508.           _L_I_B_D_I_R/cpp         preprocessor
  509.           _L_I_B_D_I_R/cc1plus     compiler
  510.           _L_I_B_D_I_R/collect     linker front end needed on some machines
  511.           _L_I_B_D_I_R/libgcc.a    GCC subroutine library
  512.           /lib/crt[01n].o    start-up routine
  513.           _L_I_B_D_I_R/ccrt0       additional start-up routine for C++
  514.           /lib/libc.a        standard C library, see _i_n_t_r_o(3)
  515.           /usr/include       standard directory for ####iiiinnnncccclllluuuuddddeeee files
  516.           _L_I_B_D_I_R/include     standard gcc directory for ####iiiinnnncccclllluuuuddddeeee files
  517.           _L_I_B_D_I_R/g++-include additional g++ directory for ####iiiinnnncccclllluuuuddddeeee
  518.  
  519.           _L_I_B_D_I_R is usually ////uuuussssrrrr////llllooooccccaaaallll////lllliiiibbbb////_m_a_c_h_i_n_e/_v_e_r_s_i_o_n.
  520.           _T_M_P_D_I_R comes from the environment variable TTTTMMMMPPPPDDDDIIIIRRRR (default
  521.           ////uuuussssrrrr////ttttmmmmpppp if available, else ////ttttmmmmpppp).
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 3/28/94)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      GGGG++++++++((((1111))))                GGGGNNNNUUUU TTTToooooooollllssss ((((33330000aaaapppprrrr1111999999993333))))                GGGG++++++++((((1111))))
  533.  
  534.  
  535.  
  536.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  537.           gcc(1), cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1),
  538.           sdb(1).
  539.           `ggggcccccccc', `ccccpppppppp', `aaaassss',````ld'''',,,, and `ggggddddbbbb' entries in iiiinnnnffffoooo.
  540.           _U_s_i_n_g _a_n_d _P_o_r_t_i_n_g _G_N_U _C_C (_f_o_r _v_e_r_s_i_o_n _2._0), Richard M.
  541.           Stallman; _T_h_e _C _P_r_e_p_r_o_c_e_s_s_o_r, Richard M. Stallman; _D_e_b_u_g_g_i_n_g
  542.           _w_i_t_h _G_D_B: _t_h_e _G_N_U _S_o_u_r_c_e-_L_e_v_e_l _D_e_b_u_g_g_e_r, Richard M. Stallman
  543.           and Roland H. Pesch; _U_s_i_n_g _a_s: _t_h_e _G_N_U _A_s_s_e_m_b_l_e_r, Dean
  544.           Elsner, Jay Fenlason & friends; _g_l_d: _t_h_e _G_N_U _l_i_n_k_e_r, Steve
  545.           Chamberlain and Roland Pesch.
  546.  
  547.  
  548.      BBBBUUUUGGGGSSSS
  549.           For instructions on how to report bugs, see the GCC manual.
  550.  
  551.  
  552.      CCCCOOOOPPPPYYYYIIIINNNNGGGG
  553.           Copyright (c) 1991, 1992, 1993 Free Software Foundation,
  554.           Inc.
  555.  
  556.           Permission is granted to make and distribute verbatim copies
  557.           of this manual provided the copyright notice and this
  558.           permission notice are preserved on all copies.
  559.  
  560.           Permission is granted to copy and distribute modified
  561.           versions of this manual under the conditions for verbatim
  562.           copying, provided that the entire resulting derived work is
  563.           distributed under the terms of a permission notice identical
  564.           to this one.
  565.  
  566.           Permission is granted to copy and distribute translations of
  567.           this manual into another language, under the above
  568.           conditions for modified versions, except that this
  569.           permission notice may be included in translations approved
  570.           by the Free Software Foundation instead of in the original
  571.           English.
  572.  
  573.      AAAAUUUUTTTTHHHHOOOORRRRSSSS
  574.           See the GNU CC Manual for the contributors to GNU CC.
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.      Page 9                                          (printed 3/28/94)
  592.  
  593.  
  594.  
  595.